//#include <stdio.h>
//int main(){
//	int i=0,arr[10],k=0,tmp1=0,tmp2=0,tmp3=0,j,p,q;
//	for(i=1;;i++)
//	{
//		j=i;
//		k=0;
//		tmp1=0,tmp2=0,tmp3=0;
//		while(j){
//			arr[k++]=j%10;
//			j=j/10;
//		}
//		k--;
//		for(p=0;p<=k;p++){
//			for(q=p;q<=k;q++){
//				if(arr[p]<arr[q]){
//					tmp1=arr[p];
//					arr[p]=arr[q];
//					arr[q]=tmp1;
//				}
//			}
//		}
//		for(j=k;j>=0;j--)
//			tmp2=arr[j]+tmp2*10;
//		for(j=0;j<=k;j++)
//			tmp3=arr[j]+tmp3*10;
//		if(tmp3-tmp2==i)
//			break;
//	}
//	printf("%d",i);
//	return 0;
//}

//#include <stdio.h>
//int main(){
//	int i=1,num,count=0,max=0,i_max=1,j;
//	scanf("%d",&num);
//	for(i=1;i<=num;i++){
//		count=0;
//		printf("%d:",i);
//		for(j=1;j<=i;j++)
//			if(i%j==0)
//			{
//				count++;
//				printf("%d ",j);
//			}
//		if(count>max)
//		{
//			max=count;
//			i_max=i;
//		}
//		printf("因子个数%d\n",count);
//	}
//	printf("1~%d之间,%d的因子个数%d,最多",num,i_max,max);
//	return 0;
//}

//#include <stdio.h>
//int main(){
//	int i,arr[100]={1},k=0,l=1,j=0;
//	for(i=1;i<=40;i++){
//		for(j=0;j<l;j++)
//		{
//			arr[j]=arr[j]*i+k;
//			k=arr[j]/10;
//			arr[j]=arr[j]%10;
//		}
//		while(k){
//			arr[j++]=k%10;
//			k=k/10;
//			l++;
//		}
//		j=l;
//		printf("%d!=",i);
//		for(--j;j>=0;j--)
//			printf("%d",arr[j]);
//		printf("\n");
//	}	
//	return 0;
//}


#include <stdio.h>
int main(){
	char str[100];
	int i=0,num,arr[100],j=0;
	scanf("%d",&num);
	while(num){
		arr[j++]=num%2;
		num/=2;
	}
	for(i=0;i<j;i++)
		str[i]=(arr[j-i-1]>0?'1':'0');
	str[i]='\0';
	printf("%s",str);
	return 0;
}
